iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0

今天要介紹的是Blue Remedy遊戲裡的蹺蹺板機關,這個機關所放置的位置是玩家必須經過的地方,而且一定要順利通過蹺蹺板才能過關。

蹺蹺板機關介紹

首先蹺蹺板的下方有長刺的浮游生物漂浮在湖水面,若玩家直接走過去的話,會被浮游生物的刺給弄傷,所以玩家必須利用液態的滲透技能往下到達湖的左側,並將堵住湖水的冰塊擊破,湖水的向下沖力會將玩家帶到下方新生成的湖水中,此時玩家需要重複前面的步驟,再往冬天的場景前進,回到蹺蹺板的地方準備破解機關,玩家需要運用冰的特殊技能,將生成的冰塊放置在蹺蹺板的左側,讓蹺蹺板傾斜,玩家即可從蹺蹺板翹起來的位置到達下一個地方。

蹺蹺板機關

https://ithelp.ithome.com.tw/upload/images/20200914/20130414WmEyz6WiRw.jpg

打破冰塊後湖水下流

https://ithelp.ithome.com.tw/upload/images/20200914/20130414gp9ycSwfes.jpg

主角來到湖水下流後新生成的湖水

https://ithelp.ithome.com.tw/upload/images/20200914/20130414H2JoUuKGEZ.jpg

重新回到蹺蹺板機關,湖水已流光

主角要變成冰型態,生成冰塊,讓蹺蹺板傾斜來順利通過

https://ithelp.ithome.com.tw/upload/images/20200914/20130414TbdBnAMIHO.jpg


那我們來看看是如何做出蹺蹺板機關的吧!

蹺蹺板的部分是使用HingeJoint2D元件,它是一個樞紐關節,可以讓物件接到它可以旋轉的支點,在這裡我們不使用自動連接到物體的支點,因為一開始蹺蹺板是漂浮在水面上的,所以當它要和支點做連接時,我不法確定那個瞬間連接的點位置為何,這樣會導致玩家在玩蹺蹺板的情況都不一樣,因此我們會先設定好蹺蹺板的旋轉點Anchor以及與旋轉點附著的位置Connected Anchor,除此之外,還要調整樞紐旋轉角度的上限與下限Angle Limits
https://ithelp.ithome.com.tw/upload/images/20200914/20130414NxcT4PJFuG.jpg

另外,下方的骨頭身上會有一個BoxCollider2D,是為了要判斷如果上方的蹺蹺板進入到BoxCollider2D的範圍內的話,就會將蹺蹺板身上的HingeJoint2D開啟,Trigger的部分是寫在Seesaw的腳本裡面,並將它掛在下方骨頭的身上。
https://ithelp.ithome.com.tw/upload/images/20200914/20130414mFts4XRire.jpg

https://ithelp.ithome.com.tw/upload/images/20200914/20130414q7If3U31Yv.jpg

再來就是湖水的部分,當上方的湖水向下流動,下方的湖水就會慢慢累積上升,這裡我是使用動畫去控制所有的物件,此動畫非常龐大,我將所有有關聯的物件都放在同一個動畫裡面,至於如何呼叫動畫的呢?這是寫在冰塊被擊破的腳本裡面,幫冰塊破碎的瞬間就會播放湖水的動畫,讓它呈現我們所想要的效果。那這個部分的物件主要分成三個物件,上方的湖水、中間流動的湖水、下方的湖水,其實上下的湖水都是同一張圖,它們只要負責上下位置移動即可,至於中間流動的湖水,則是由我們美術人員畫的動畫,另外,在湖水游動的過程中會將主角向下推,這部分是使用了隱形的Collider,並在湖水下流的同時給它向左下方的力,讓它可以去推動主角,使主角到達下方的湖面。
https://ithelp.ithome.com.tw/upload/images/20200914/20130414njExvhi8HA.jpg

大致上的作法就是這樣,是不是覺得湖水的動畫非常龐大啊?我也是試過了才知道動畫可以做這麼多事,雖然這不一定是個好方法,但真的蠻方便的,大家也可以嘗試看看喔!


上一篇
[Day27]機關-樹枝斷裂
下一篇
[Day29]雙程式的溝通與運作
系列文
Unity遊戲開發與實踐-BlueRemedy內容分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言